// pages/active/index.js
// 接口
import { fetchBorrowTerm, fetchActivityList } from '~/request/api'

Page({
  /**
   * 页面的初始数据
   */
  data: {
    menuList: [
      { label: '报名记录', value: 'records', url: 'https://yanxuan.nosdn.127.net/4f00675caefd0d4177892ad18bfc2df6.png' },
      { label: '历史活动', value: 'history', url: 'https://yanxuan.nosdn.127.net/4aab4598017b5749e3b63309d25e9f6b.png' },
    ],
    keys: {
      value: 'id',
      label: 'name'
    },
    terms: {
      value: null,
      options: []
    },
    playlist: []
  },

  // 学期回调
  onChange(e) {
    this.setData({
      'terms.value': e.detail.value,
    });
  },

  handleItem(e) {
    const { id: type } = e.currentTarget;
    wx.navigateTo({
      url: `/pages/active/${type}/index`,
    })
  },

  // 活动详情
  handleDetail(e) {
    const { id } = e.currentTarget;
    wx.navigateTo({
      url: `/pages/active/detail/index?term_id=${this.data.terms.value}&hd_id=${id}`,
    })
  },

  /**
   * 接口函数
   */

  // 学期
  async getBorrowTerm() {
    try {
      const res = await fetchBorrowTerm()
      const currentId = res?.find(item => item.is_cur_term == 1)?.id
      this.setData({ 'terms.options': res, 'terms.value': currentId })
      return currentId
    } catch (error) {
      console.log(error)
    }
    return this.data.terms.value
  },

  // 阅读活动列表
  async getPlayList(id) {
    const { terms } = this.data;
    try {
      const res = await fetchActivityList({ term_id: id || terms?.value })
      this.setData({ playlist: res })
    } catch (error) {
      console.log(error)
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    const currentId = await this.getBorrowTerm()
    this.getPlayList(currentId)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() { },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getTabBar().init();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() { },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() { },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.getPlayList();
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() { },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() { },
});
